Docker 邊做邊學 (3) 使用Dockerfile構建鏡像

Docker提供Dockerfile方法自動構建鏡像,只有將命令寫在Dockerfile檔案中,使用build方法就能一步一步自動構建鏡像,非常高效。

  1. 準備或建立html檔案

新增 index.html

1
<h1>hello</h1>
  1. 創建檔案 Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# VERSION 1
# Author: Noyoung Guo

FROM centos

MAINTAINER noyoung noyoungit@gmail.com

RUN rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
RUN yum install -y nginx

ADD index.html /usr/share/nginx/html/index.html

RUN echo "daemon off;" >> /etc/nginx/nginx.conf

EXPOSE 80
cmd ["nginx"]

Docker file 撰寫方式:

1
2
3
4
5
6
7
8
9
From 來源
Maintainer 選擇性,記錄作者與聯絡方式
Run 建立IMAGE的過程,執行的指令
WorkDIR 切換工作的路徑
ADD 新增本機端的檔案或目錄到IMAGE內
ENV 設定環境變數
EXPOSE 端口
VOLUME 數據卷
CMD 命令
  1. build Dockerfile

最後的.就是當前目錄(Dockerfile檔案位置)。

1
docker build -t noyoung/mynginx:v3 .

Options:

1
-t 選擇以'name:tag'格式的鏡像

  1. 創建基於noyoung/mynginx:v3的容器
1
docker run -d -p 83:80 noyoung/mynginx:v3
  1. 訪問服務頁面